[Enhancement](tvf) Table value function support reading local file#17404
Conversation
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
2 similar comments
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
|
PR approved by at least one committer and no changes requested. |
| glob_t glob_result; | ||
| memset(&glob_result, 0, sizeof(glob_result)); | ||
|
|
||
| int rc = glob(pattern.c_str(), GLOB_TILDE, NULL, &glob_result); |
There was a problem hiding this comment.
| int rc = glob(pattern.c_str(), GLOB_TILDE, NULL, &glob_result); | |
| int rc = glob(pattern.c_str(), GLOB_TILDE, nullptr, &glob_result); |
|
|
||
| protected String getFsName(FileSplit split) { | ||
| return tableValuedFunction.getFsName(); | ||
| } |
There was a problem hiding this comment.
| protected String getFsName(FileSplit split) { | |
| return tableValuedFunction.getFsName(); | |
| } | |
| @Override | |
| protected String getFsName(FileSplit split) { | |
| return tableValuedFunction.getFsName(); | |
| } |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
|
PR approved by at least one committer and no changes requested. |
…ble with non-ASAN builds
### What problem does this PR solve?
Issue Number: close #xxx
Problem Summary: LocalFileSystemTest.TestGlob hardcodes the path
`./be/ut_build_ASAN/test/file_path/` for creating test files, but
`safe_glob()` looks up files under `config::user_files_secure_path`
(which resolves to `${DORIS_HOME}` = `${CMAKE_BUILD_DIR}/test/`).
In ASAN mode these paths happen to coincide, so the test passes. In
LSAN mode ${CMAKE_BUILD_DIR} is `be/ut_build_LSAN` while files are
still created under `be/ut_build_ASAN`, causing the glob to find
nothing and the test to fail.
This defect was introduced in commit 71807ce (PR apache#17404) which
added the test with an ASAN-specific hardcoded path.
### Release note
None
### Check List (For Author)
- Test: Unit Test
- Behavior changed: No
- Does this need documentation: No
…ble with non-ASAN builds
### What problem does this PR solve?
Issue Number: close #xxx
Problem Summary: LocalFileSystemTest.TestGlob hardcodes the path
`./be/ut_build_ASAN/test/file_path/` for creating test files, but
`safe_glob()` looks up files under `config::user_files_secure_path`
(which resolves to `${DORIS_HOME}` = `${CMAKE_BUILD_DIR}/test/`).
In ASAN mode these paths happen to coincide, so the test passes. In
LSAN mode ${CMAKE_BUILD_DIR} is `be/ut_build_LSAN` while files are
still created under `be/ut_build_ASAN`, causing the glob to find
nothing and the test to fail.
This defect was introduced in commit 71807ce (PR apache#17404) which
added the test with an ASAN-specific hardcoded path.
### Release note
None
### Check List (For Author)
- Test: Unit Test
- Behavior changed: No
- Does this need documentation: No
Proposed changes
Issue Number: close #17308
Problem summary
I tested the local tvf with tpch queries. First, generate
lineitemdatasets with 6001215 rows, and load it intolineitemtable by:Then, run
q1andq16tpch queries, the query result is correct.It can also analyze the BE's log directly like:
Checklist(Required)
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...